1. Field of the Invention
The present invention generally relates to data analysis. More particularly, the present invention provides an iterative process for identifying systematics in data.
2. Related Art
One part of the manufacturing process of integrated circuits (ICs), hereafter referred to as “chips,” includes verifying that the chips are free of defects. One goal of this testing step is the identification of all defective chips. Another goal is collecting fail data for each defective chip, which can be used later, if so desired, to identify the defect that caused the fail. The combined fail data for a set of defective chips can be used in different ways to obtain information about the defects. For example, the effectiveness of the various steps in the test sequence in detecting defects can be determined, and fail probabilities can be calculated for various embedded objects (e.g., embedded random access memory).
Fail data can also be used as a signature of the underlying defect that caused the observed fail. Such signatures can be defined for each failing chip, using the raw fail data, or some type of summarization of the raw fail data. Fail signatures can be used to compare different chips, or the same chip under different test conditions, for commonalities, and these comparisons may then indicate if the fails were caused by the same defect mechanism.
Once a way is found to reliably compare different chips, the failing chips can be clustered into groups of chips that seem to have failed because of the same or similar defects. One reason for attempting such clustering is that, if all the chips in a single group did fail because of similar defects, information such as occurrence probabilities of such defects is available immediately. In addition, diagnosis can then be targeted to the more frequent defects.
Generally, chips are compared to each other in a pairwise manner and a measure of how correlated the chips are is determined. From this correlation, the chips are grouped into clusters of chips that are related based on their correlations to chips in the group. Unfortunately, the grouping of chips into clusters is problematic when there are multiple defects on a chip.
As an example of this problem, assume a plurality of chips that all fail bits on the same scan chain as follows:                Chip A fails bits 1 and 2;        Chip B fails bits 1 and 2;        Chip C fails bits 1, 2, and 4, and 7; and        Chip D fails bits 4 and 7.Assuming that the correlation measure being used is number of bits in common/total number of bits, then chip C's correlation with chips A and B is less than chip A's correlation with chip B, because chip C also fails bits 4 and 7. This occurs even though chip C fails bits 1 and 2, just like chips A and B. Thus, whether chip C is clustered with chip A, B, or D, will depend on what correlation threshold is used when the clusters are generated.        
As another example, assume a plurality of chips that all fail bits on the same scan chain as follows:                Chip A fails bits 1 and 2;        Chip B fails bits 1 and 2;        Chip C fails bits 1, 2, and 17-37; and        Chip D fails bits 17-37.Assuming again that the correlation being used is number of bits in common/total number of bits, then        Chips A, B are in cluster C0; and        Chips C, D are in cluster C1.Chip C and chip D have a larger correlation than either chip C and chip A or chip C and chip B, because of the fail bits 17-37 on chip C; the correlation of chip C with chip A and the correlation of chip C with chip B are compromised. To this extent, chips that have multiple defects do not correlate as well as chips with the same single defect. The correlation algorithm and clustering algorithm determine how chips with multiple defects are clustered.        
Many clustering algorithms only allow a chip to be placed in a single cluster. As such, in either of the above examples, chip C could either be grouped into a cluster containing chips A and B or into a cluster containing chip D, but not both, depending on the correlation algorithm and threshold that are used.